1
Классификация параллелизма: процессы, мультиплексирование ввода-вывода и потоки
AI031Lesson 12
00:00

В области компьютерных систем конкурентность на уровне приложения означает преднамеренное перекрытие логических потоков управления для повышения производительности и отзывчивости. Это функциональная абстракция: программа разбивается на независимые задачи, которые могут выполняться поочередно или параллельно.

1. Классификация параллелизма

Разработчики обычно выбирают между тремя основными механизмами для управления этими конкурентными потоками:

  • Процессы: Высокая изоляция с отдельными адресными пространствами; требует взаимодействия через ядро.
  • Мультиплексирование ввода-вывода: Один поток вручную переключается между событиями «готовности» (состояниями).
  • Потоки: Легковесные потоки, разделяющие одно виртуальное адресное пространство для простого обмена данными.
Параллельные программыПоследовательныеПараллельныеОсновные причины:Скрыть задержку ввода-выводаОтзывчивость интерфейсаМасштабирование на многопроцессорных системахСерверы для множества клиентов

2. Логическое и физическое выполнение

Хотя все параллельные программы являются конкурентными, не все конкурентные программы являются параллельными. Параллелизм — это физическое выполнение потоков на отдельных аппаратных ядрах. Конкурентность — это логическая структура, которая позволяет такому выполнению происходить.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>